package org.dromara.visitor.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.dromara.visitor.domain.dto.*;
import org.dromara.visitor.domain.entity.Apply;

import java.time.LocalDateTime;
import java.util.List;

public interface ApplyService extends IService<Apply> {
    void addApply(ApplyAddReq addReq);

    Page<ApplyResp> queryPageList(ApplyQueryReq req);

    ApplyDetailResp queryDetail(Long id);

    void approvePC(Long id, Integer approveResult);

    void validatePhoneName(String visitPhone, String visitName);

    Page<ApplyResp> queryAppApplyList(String phoneNumber, Long pageNum, Long pageSize);

    void approveApp(Long id, Integer approveResult);

    List<ApplyExportExcel> listExport(ApplyQueryReq req);

    ApplyStatisticsSummaryResp toDaySummary();

    ApplyMonthStatusResp monthStatusRate();

    List<ApplyAndVisitMonthResp> applyAndVisitMonth(LocalDateTime startTime,LocalDateTime endTime);
}
